<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CANopenNode: socketCAN/CO_driver_target.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CANopenNode
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('CO__driver__target_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">CO_driver_target.h File Reference<div class="ingroups"><a class="el" href="group__CO__socketCAN.html">socketCAN</a> &raquo; <a class="el" href="group__CO__socketCAN__driver__target.html">CO_driver_target.h</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Linux socketCAN specific definitions for CANopenNode.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stddef.h&gt;</code><br />
<code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;endian.h&gt;</code><br />
<code>#include &lt;pthread.h&gt;</code><br />
<code>#include &lt;linux/can.h&gt;</code><br />
<code>#include &lt;net/if.h&gt;</code><br />
<code>#include &quot;<a class="el" href="CO__error_8h_source.html">CO_error.h</a>&quot;</code><br />
</div>
<p><a href="CO__driver__target_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga63d0056e7f18144c6eee7b66f196377c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__socketCAN__driver__target.html#ga63d0056e7f18144c6eee7b66f196377c">CO_DRIVER_MULTI_INTERFACE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga63d0056e7f18144c6eee7b66f196377c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi interface support.  <a href="group__CO__socketCAN__driver__target.html#ga63d0056e7f18144c6eee7b66f196377c">More...</a><br /></td></tr>
<tr class="separator:ga63d0056e7f18144c6eee7b66f196377c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88077a1ecc6ae53de0b40ae092d48452"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__socketCAN__driver__target.html#ga88077a1ecc6ae53de0b40ae092d48452">CO_DRIVER_ERROR_REPORTING</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ga88077a1ecc6ae53de0b40ae092d48452"><td class="mdescLeft">&#160;</td><td class="mdescRight">CAN bus error reporting.  <a href="group__CO__socketCAN__driver__target.html#ga88077a1ecc6ae53de0b40ae092d48452">More...</a><br /></td></tr>
<tr class="separator:ga88077a1ecc6ae53de0b40ae092d48452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac7fa0005b72d33a7808614d0395fbde4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__socketCAN__driver__target.html#gac7fa0005b72d33a7808614d0395fbde4">CO_DRIVER_USE_EMERGENCY</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gac7fa0005b72d33a7808614d0395fbde4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use CANopen Emergency object on CAN RX or TX overflow.  <a href="group__CO__socketCAN__driver__target.html#gac7fa0005b72d33a7808614d0395fbde4">More...</a><br /></td></tr>
<tr class="separator:gac7fa0005b72d33a7808614d0395fbde4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga885fbec013ab54cbf12458610eaaaf7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CO__driver.html#ga1cb2d3466eb0c6d267f3b5ff1a0d9532">CO_ReturnError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__socketCAN__driver__target.html#ga885fbec013ab54cbf12458610eaaaf7f">CO_CANmodule_addInterface</a> (<a class="el" href="structCO__CANmodule__t.html">CO_CANmodule_t</a> *CANmodule, const void *CANptr)</td></tr>
<tr class="memdesc:ga885fbec013ab54cbf12458610eaaaf7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add socketCAN interface to can driver.  <a href="group__CO__socketCAN__driver__target.html#ga885fbec013ab54cbf12458610eaaaf7f">More...</a><br /></td></tr>
<tr class="separator:ga885fbec013ab54cbf12458610eaaaf7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf266a58e21acf104d9f19cd0da704afe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__socketCAN__driver__target.html#gaf266a58e21acf104d9f19cd0da704afe">CO_CANrxBuffer_getInterface</a> (<a class="el" href="structCO__CANmodule__t.html">CO_CANmodule_t</a> *CANmodule, <a class="el" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> ident, const void **const CANptrRx, struct timespec *timestamp)</td></tr>
<tr class="memdesc:gaf266a58e21acf104d9f19cd0da704afe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check on which interface the last message for one message buffer was received.  <a href="group__CO__socketCAN__driver__target.html#gaf266a58e21acf104d9f19cd0da704afe">More...</a><br /></td></tr>
<tr class="separator:gaf266a58e21acf104d9f19cd0da704afe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d7a8fdf7a2fafd4c6d2f2dd1e1017b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CO__driver.html#ga1cb2d3466eb0c6d267f3b5ff1a0d9532">CO_ReturnError_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__socketCAN__driver__target.html#ga0d7a8fdf7a2fafd4c6d2f2dd1e1017b0">CO_CANtxBuffer_setInterface</a> (<a class="el" href="structCO__CANmodule__t.html">CO_CANmodule_t</a> *CANmodule, <a class="el" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a> ident, const void *CANptrTx)</td></tr>
<tr class="memdesc:ga0d7a8fdf7a2fafd4c6d2f2dd1e1017b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set which interface should be used for message buffer transmission.  <a href="group__CO__socketCAN__driver__target.html#ga0d7a8fdf7a2fafd4c6d2f2dd1e1017b0">More...</a><br /></td></tr>
<tr class="separator:ga0d7a8fdf7a2fafd4c6d2f2dd1e1017b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57af27dfaaec8355e89fef506799a4b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CO__socketCAN__driver__target.html#ga57af27dfaaec8355e89fef506799a4b9">CO_CANrxWait</a> (<a class="el" href="structCO__CANmodule__t.html">CO_CANmodule_t</a> *CANmodule, int fdTimer, CO_CANrxMsg_t *buffer)</td></tr>
<tr class="memdesc:ga57af27dfaaec8355e89fef506799a4b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions receives CAN messages (blocking)  <a href="group__CO__socketCAN__driver__target.html#ga57af27dfaaec8355e89fef506799a4b9">More...</a><br /></td></tr>
<tr class="separator:ga57af27dfaaec8355e89fef506799a4b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Linux socketCAN specific definitions for CANopenNode. </p>
<dl class="section author"><dt>Author</dt><dd>Janez Paternoster </dd>
<dd>
Martin Wagner </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>2004 - 2020 Janez Paternoster </dd>
<dd>
2018 - 2020 Neuberger Gebaeudeautomation GmbH</dd></dl>
<p>This file is part of CANopenNode, an opensource CANopen Stack. Project home page is <a href="https://github.com/CANopenNode/CANopenNode">https://github.com/CANopenNode/CANopenNode</a>. For more information on CANopen see <a href="http://www.can-cia.org/">http://www.can-cia.org/</a>.</p>
<p>Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at </p><pre class="fragment">http://www.apache.org/licenses/LICENSE-2.0
</pre><p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_4b0ffcb7ab18f30ccfa85879d0b1134f.html">socketCAN</a></li><li class="navelem"><a class="el" href="CO__driver__target_8h.html">CO_driver_target.h</a></li>
    <li class="footer">Generated on Tue Jun 9 2020 17:29:32 for CANopenNode by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
